//
//  StatusViewModel.swift
//  Weibo
//
//  Created by 张婷 on 15/10/24.
//  Copyright © 2015年 itheima. All rights reserved.
//

import UIKit

class StatusViewModel: CustomStringConvertible {
    
    /// 微博模型
    var status: Status
    
    /// 用户头像地址
    var userProfileUrl: NSURL {
        return NSURL(string: status.user?.profile_image_url ?? "")!
    }
    /// 用户原始头像
    var userDefaultImage: UIImage {
        return UIImage(named: "avatar_default_big")!
    }
    /// 用户昵称
    var userScreen_name: String {
        return status.user?.screen_name ?? ""
    }
    /// 微博正文
    var statusText: String {
        return status.text ?? ""
    }
    
    /// Cell 行高
    var rowHeight: CGFloat {
        
        let cell = StatusCell(style: .Default, reuseIdentifier: StatusCellNormalId)
        
        // 返回行高
        return cell.rowHeight(self)
    }
    
    /// 配图 url 数组 - 存储型属性
    var thumbnailUrls: [NSURL]?
    
    /// MARK: 构造函数
    init(status: Status){
        self.status = status
        
        if let urls = status.retweeted_status?.pic_urls ?? status.pic_urls {
            // 创建
            thumbnailUrls = [NSURL]()
            
            for dict in urls {
                let url = NSURL(string: dict["thumbnail_pic"]!)
                thumbnailUrls?.append(url!)
            }
        }
    }
    
    /// 描述信息
    var description: String {
        return status.description + "\n配图数组 \((thumbnailUrls ?? []) as NSArray)"
    }
}
